package cn.source.zk.mapper;

import cn.source.zk.domain.entity.ConnectionPoint;
import cn.source.zk.domain.entity.Substation;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.stream.Stream;

@Mapper
public interface ZkConnectionPointMapper {


    /**
     * 查询并网点分页列表
     * @param connectionPoint
     * @param substationsNumList:表示当前用户能看到的变电站
     * @return
     */
    List<ConnectionPoint> selectListPage(@Param("connectionPoint") ConnectionPoint connectionPoint,
                                         @Param("substationsNumList") List<Long> substationsNumList);

    /**
     * 新增并网点
     * @param connectionPoint
     * @return
     */
    int addConnectionPoint(ConnectionPoint connectionPoint);

    /**
     * 修改并网点
     * @param connectionPoint
     * @return
     */
    int edit(ConnectionPoint connectionPoint);

    /**
     * 批量删除
     * @param nums
     * @return
     */
    int deleteBatch(@Param("nums") List<Long> nums);

    /**
     * 校验并网点是否存在
     * @return
     */
    int checkConnectionPointExist(ConnectionPoint connectionPoint);


    /**
     * 根据nums列表查询并网点
     * @param nums
     * @return
     */
    List<ConnectionPoint> getByNums(@Param("nums") List<Long> nums);


    ConnectionPoint getByNum(@Param("num") Long num);

    List<ConnectionPoint> getBySubstationNums(@Param("nums") Iterable<Long> nums);
}
